This invention relates generally to stored program data processing systems, and more particularly to means for changing the contents of an instruction register during instruction execution.
The two patents incorporated by reference disclose data processing systems designed in accordance with the architecture, or functional description, of an IBM System/370 data processing system. This architecture is described in a document entitled "IBM System/370 Principles of Operations" Form No. GA22-7000-4, copy-righted 1972.
Both of the data processing systems described in the above cited references were designed at a time when the definition of an IBM System/370 system included a certain number of program instruction formats that had to be decoded and interpreted for execution. After the design of these systems, a new IBM System/370 instruction format was defined. The transfer paths of various instruction fields from an instruction register to other portions of the data processing system could not accommodate the new format. Substantial changes had to be made to the design of systems subsequently built or the microprogram control of the systems had to be substantially redesigned.
In some large data processing systems, such as the above-identified Reference 2, a transfer path exists between certain fields of an instruction register in an instruction handling unit to a corresponding register in an execution unit. However, the new instruction format re-positioned part of the information transferred to the execution unit to a different portion of the instruction register, and therefore additional cabling would be required to transfer the information from the instruction register to the execution unit. Essentially all data processing systems develop permanent error conditions during operation, or during early development design phases. The ability to bypass faulty hardware in the system, or modify the operation of the system for continued use during repair or re-design is not easily achieved. Another occasional data processing system requirement is to provide special functions for a particular user. If the special function cannot be performed by existing program instructions, then new programs, micro-programs, instructions, or hardware changes may be required.